﻿using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using JPW.OnlinePaperSubmissionSystem.Auditing.Dto;
using JPW.OnlinePaperSubmissionSystem.Dto;
using JPW.OnlinePaperSubmissionSystem.Project.Dto;
using Kendo.DynamicLinq;
namespace JPW.OnlinePaperSubmissionSystem.Project
{
    public interface IWriterInformationAppService : IApplicationService
    {
        DataSourceResult KendoGetWriterInformations(DataSourceRequest input);
        
        ListResultOutput<WriterInformationListDto> GetWriterInformations(GetWriterInformationInput input);
        
        Task<ListResultOutput<WriterInformationListDto>> GetWriterInformationsAsync();

        Task DeleteWriterInformation(IdInput input);
        
        Task CreateOrUpdateWriterInformation(CreateOrUpdateWriterInformationInput input);
        
        Task CreateWriterInformationAsync(CreateOrUpdateWriterInformationInput input);
        
        Task UpdateWriterInformationAsync(CreateOrUpdateWriterInformationInput input);
        
        Task<GetWriterInformationForEditOutput> GetWriterInformationForEdit(NullableIdInput input);

        Task<GetWriterInformationForEditOutput> GetWriterInformationById(NullableIdInput input);
    }
}